Digital camera and data transfer method from a record medium

ABSTRACT

An operation input portion  7 , a buffer memory  8 , a record medium  9 , and a single USB controller  10  are connected to a bus connected to a controlling microcomputer  6 . A USB connector  11  is connected to the USB controller  10 . The USB controller  10  as hardware deals with a single interface. By a process of the controlling microcomputer  6 , data is transferred from the buffer memory  8  to the USB controller  10  through one of USB interfaces corresponding to PTP and mass storage class interface. With a switch of the operation input portion  7  and a menu screen, the user sets a USB interface. Selection information representing the selected USB interface is stored in a memory of the controlling microcomputer  6.

TECHNICAL FIELD

The present invention relates to a digital camera that selectively usesa plurality of USB (Universal Serial Bus) connections and to a datatransferring method for transferring data from the digital camera to ahost such as a personal computer.

BACKGROUND ART

The USB is an interface that is used to connect a personal computer to aperipheral device. The USB has been almost substituted for theconventional serial port and parallel port. The USB has been used as aninterface through which digital data such as a still picture and a lowbit rate moving picture photographed by a digital camera is transferredto a personal computer. Generally, in the digital camera, photographedpicture data is recorded to a removable storage medium such as a memorycard.

In the case that a picture file recorded in the memory card of thedigital camera is transferred to the personal computer, if the digitalcamera has a USB port, when the digital camera is directly connected tothe personal computer through a USB cable, the picture file recorded inthe memory card can be transferred from the digital camera to thepersonal computer.

As USB interface's standards for digital cameras, there are standardswith respect to mass storage class interface and still image classinterface. Through the mass storage class interface, a personal computerrecognizes a digital camera as a removable medium. Through the stillimage class interface, the personal computer recognizes a digital cameraas a scanner. Thus, depending on how a personal computer recognizes adevice, there are two different classes. The mass storage classinterface is prescribed in “Universal Serial Bus Mass Storage ClassSpecification Overview (Revision 1.1 Jun. 28, 2000)”.

So far, a camera that can use both the interfaces at a time or selectone of them has not been released. This is because it was consideredthat there was no need to provide a camera that deals with both theclasses. In addition, when a camera deals with only a single USBinterface, the cost and circuit scale thereof can be reduced. Incontrast, personal computers can deal with any class. A device drivercorresponding to a class of a digital camera is bundled therein. Thebundled device driver is installed to a personal computer.

In addition, a digital camera that has a function for recording aplurality of different format files to a record medium is known. Forexample, a digital camera that can record both a photographed picture(main picture) and an E-mail size picture to a record medium has beenproposed. As another example, a digital camera that has a function forrecording both a main picture and a voice memo to a record medium hasbeen proposed. Hereinafter, sometimes, a main picture is referred to asmain file; a file related to a main file is referred to as sub file.

When the conventional mass storage class interface is used, since adigital camera is recognized as a removable media, it is necessary forthe user to manage the directory. For example, a folder “Dcim” iscreated in a memory card. In the folder “Dcim”, a sub. folder “100msdcf” is created. In the sub folder “100 msdcf”, for example a JPEGpicture file is stored. A file name of a picture file is composed of forexample “dsc”+five-digit numeral+extension (that represents a picturecompression format (for example, .jpg)). A digital camera has a functionfor creating both a still picture file and a voice memo, an E-mailpicture, or the like. They are stored in other folders. Unless the userknows such a directory structure, he or she cannot easily search andoperate a desired file.

In addition, in a digital camera body, a main picture and an E-mail subfile are stored in different folders. Thus, when folders, file names,and record date/time data are compared, a main picture and a sub filecan be correlated. When data recorded in a record medium is transferredto a personal computer using the conventional mass storage class USBinterface, the directory structure of the digital camera is transferredto the personal computer as it is. In this case, the user should searcha sub file related to a main picture file using a folder name, a filename, record date/time data, and so forth. Thus, the user cannot easilyknow the relation of these files.

Recently, as a higher layer created corresponding to the still imageclass interface, PTP (Picture Transfer Protocol) has been proposed byPIMA (Photographic and Imaging Manufacturers Association, Inc.). Thisstandard deals with a data transfer system for digital cameras andscanners. In this system, without need to consider the directorystructure, the user can easily capture a picture file to a personalcomputer and select a desired file on the personal computer. Forexample, the PTP has a function for displaying a thumbnail picture for apicture file. Thus, as a USB interface for digital cameras, to allow theusers to easily operate them, it is preferred to use the PTP.

However, in the PTP, data other than picture data (for example, voicedata) cannot be recorded from a personal computer to a memory card of adigital camera. In contrast, data other than picture data cannot becaptured to a personal computer. In addition, since the PTP is supportedby new OSs (Operating Systems), not old OSs. Thus, when only the PTP isused, it is necessary to cause the old OSs to support the PTP. Thus, forexample, it is necessary to originally develop device drivers for theold OSs. As a result, the cost rises.

In addition, in the PTP, a directory structure of folders recorded in arecord medium cannot be transferred to a personal computer. Picture dataand sub files are transferred as same type data. Thus, with datatransferred corresponding to the PTP, the user cannot easily know therelation of a main picture file and a sub file.

Therefore, a first object of the present invention is to provide adigital camera that can deal with at least two USB interfaces at theminimum cost.

A second object of the present invention is to provide a digital cameraand a data transferring method that use a USB interface through whichpicture data is transferred regardless of the directory structure of arecord medium as with the PTP and that allow the user to easily know therelation of two or more related files on a personal computer.

DISCLOSURE OF THE INVENTION

To accomplish the forgoing objects, claim 1 of the present invention isa digital camera that records data of a photographed picture to aremovable record medium and reads picture data from the record medium,comprising a controlling portion, an operation input portion thatoutputs an operation signal to the controlling portion, a buffer memorythat is controlled by the controlling portion and that is read from therecord medium, and a single USB controller that is controlled by thecontrolling portion, wherein the operation input portion selects a firstUSB interface or a second USB interface and selection information thatrepresents the selected interface is stored in the controlling portion,and wherein when the controlling portion receives a transfer requestfrom the USB controller, the controlling portion transfers data from thebuffer memory to the USB controller through the first USB interface orthe second USB interface corresponding to the selection information.

The hardware of the USB controller deals with a single interface. Thecontrolling portion can deal with two types of USB interfaces. Thus, thehardware scale is not increased.

Claim 5 of the present invention is a digital camera that records dataof a photographed picture to a record medium and reads picture data fromthe record medium, comprising a picture processing portion thatprocesses a photographed picture, a controlling portion, an operationinput portion that outputs an operation signal to the controllingportion, and a USB controller that is controlled by the controllingportion and that composes an USB interface, wherein a predeterminedphotographing mode that is set by the operation input portion cause asub file related to a main file corresponding to a photographed pictureto be created, wherein the controlling portion records the main file andthe sub file to the record medium, and wherein when the main file andthe sub file stored in the record medium is transferred through the USBinterface, a folder is created in data that is transferred.

Claim 11 of the present invention is a data transferring method,comprising the steps of creating a sub file related to a main filecorresponding to a photographed picture in a predetermined photographingmode, recording the main file and the sub file to the record medium, andtransferring the main file and the sub file stored in the record mediumto a host side through a USB interface, wherein a folder is created inthe transferred data.

When data is transferred from a digital camera to a personal computerthrough a USB interface corresponding to for example the PTP, since afolder can be created, the use can easily know the relation of datatransferred to the personal computer.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram showing the structure of which a digitalcamera is connected to a personal computer according to the presentinvention;

FIG. 2 is a block diagram showing the structure of a digital cameraaccording to an embodiment of the present invention;

FIG. 3A is a schematic diagram showing an example of a mode dial thatselects a USB interface according to the embodiment of the presentinvention;

FIG. 3B is a schematic diagram showing an example of a menu forselecting a USB interface according to the embodiment of the presentinvention;

FIG. 3C is a schematic diagram showing an example of a menu after aconfirmation operation is performed;

FIG. 4 is a flow chart showing a USB interface switching process;

FIG. 5 is a flow chart for explaining a process for creating a filetable according to another embodiment of the present invention;

FIG. 6 is a schematic diagram showing an example of a file tableaccording to the other embodiment of the present invention;

FIG. 7A is a schematic diagram showing the relation between file numbersand object handles according to the other embodiment of the presentinvention;

FIG. 7B is a schematic diagram showing an example of which file numbersare converted into object handles of main files, sub files, and foldersaccording to the other embodiment of the present invention;

FIG. 8 is a schematic diagram showing a directory structure according tothe other embodiment of the present invention;

FIG. 9 is a schematic diagram showing photographing modes and file namesthat are transferred according to the other embodiment of the presentinvention;

FIG. 10 is a schematic diagram showing a file structure transferredcorresponding to the PTP according to the other embodiment of thepresent invention;

FIG. 11 is a schematic diagram showing a part of operations usedcorresponding to the PTP;

FIG. 12 is a schematic diagram for explaining operations performed whena personal computer and a digital camera are connected;

FIG. 13 is a schematic diagram for explaining operations forGetObjectHandle;

FIG. 14 is a flow chart showing a connection process (PTP initializingprocess) according to the other embodiment of the present invention;

FIG. 15 is a flow chart showing “GetObjectHandle” process (operationprocess) according to the other embodiment of the present invention;

FIG. 16 is a flow chart showing “GetObjectInfo” process according to theother embodiment of the present invention;

FIG. 17 is a schematic diagram for explaining operations for GetObject;

FIG. 18 is a flow chart showing “GetObject” process according to theother embodiment of the present invention;

FIG. 19 is a schematic diagram showing a data structure of an objecthandle according to the other embodiment of the present invention;

FIG. 20 is a schematic diagram showing a data structure of objectinformation data according to the other embodiment of the presentinvention;

FIG. 21 is a schematic diagram showing a data structure of objectinformation data according to the other embodiment of the presentinvention; and

FIG. 22 is a schematic diagram showing a list of data transferred to apersonal computer according to the other embodiment of the presentinvention.

BEST MODES FOR CARRYING OUT THE INVENTION

Next, an embodiment of the present invention will be described.According to the embodiment, a picture file recorded by a digital camerais transferred from the digital camera to a personal computer. In otherwords, as shown in FIG. 1, a USB host (personal computer) 100 and adigital camera 102 having a USB port are directly connected with a USBcable 101. A picture file recorded in a removable record medium, forexample a memory card, disposed in the digital camera 102 is transferredfrom the digital camera 102 to the personal computer 100.

FIG. 2 shows the system structure of the digital camera 102. In FIG. 2,reference numeral 1 represents a CCD (Charge Coupled Device). The numberof pixels (the number of horizontal pixels×the number of verticalpixels) of the CCD 1 is for example 1800×1200. The number of pixels of arecorded picture against the number of pixels of a photographed picture(color picture) can be selected from various types. The CCD 1 outputs animage of an object photographed through a lens (not shown) as aphotographed picture signal. The lens portion of the CCD 1 performs anautomatic diaphragm controlling operation and an automatic focuscontrolling operation. The photographed picture signal is supplied to acamera block 2.

The camera block 2 includes a clamping circuit, a luminance signalprocessing circuit, a contour compensating circuit, a defectcompensating circuit, an automatic diaphragm controlling circuit, anautomatic focus controlling circuit, an automatic white balancecompensating circuit, and so forth. The camera block 2 generates thedigital photographed picture signal as a component signal composed of aluminance signal and color difference signals converted from for exampleRGB signals. The digital photographed picture signal is supplied to apicture processing block 3.

The picture processing block 3 has a signal switching portion, a displaybuffer memory, a D/A converter, a picture data encoder, a picture datadecoder, and so forth. As picture file formats, for example JPEG (JointPhotographic Experts Group), MPEG (Moving Picture Experts Group), GIF(Graphics Interchange Format), TIFF (Tagged Image File Format), BMP(Windows BitMap), and so forth can be selectively used. A displayingdevice 4 and a picture memory 5, for example, a DRAM (Dynamic RandomAccess Memory), are connected to the picture processing block 3. In thepicture processing block 3, generated RGB signals are supplied to thedisplaying device 4 through a D/A converter. The displaying device 4 iscomposed of for example an LCD (Liquid Crystal Display) that isintegrated with the camera.

The picture signal is supplied from the camera block 2 to the displayingdevice 4. The displaying device 4 displays the photographed picture. Inaddition, the displaying device 4 displays a picture that is read fromthe record medium 9 thorough a controlling microcomputer 6. Moreover,the displaying device 4 displays a menu screen for setting a mode. Therecord medium 9 is a removable medium, for example, a memory card, aflexible disc, or a CD-R.

A bus is connected to the controlling microcomputer 6. An operationinput portion 7, a buffer memory 8, the record medium 9, and a USBcontroller 10 that deals with a single interface are connected to thebus. A USB connector 11 is connected to the USB controller 10. Controlinformation is supplied from the controlling microcomputer 6 to eachportion. Corresponding to the control information, each portionprocesses the picture data. Corresponding to the control information,data is written to and read from the picture memory 5 and the buffermemory 8. In addition, corresponding to the control information, data iswritten to and read from the record medium 9.

The controlling microcomputer 6 can control the USB controller 10through two types of USB interfaces. In other words, even if the USBcontroller 10 as hardware deals with a single interface, by a process ofthe controlling microcomputer 6, data can be transferred from the buffermemory 8 to the USB controller 10 through one of the two types of USBinterfaces. The two types of USB interfaces are PTP (Still Image Class)and mass storage class interface.

The operation input portion 7 has a shutter button, a mode dial forsetting a mode, and various types of switches that the user operates.When the shutter button is pressed, the controlling microcomputer 6detects this, causes the camera block 2 and the picture processing block3 to store the photographed original picture to the picture memory 5,and causes the picture processing block 3 to compress the originalpicture data and record the compressed data to the record medium 9.

When the user presses an operation switch such as the mode dial of theoperation input portion 7, the controlling microcomputer 6 detects thisand causes the picture processing block 3 to write a pattern to thepicture memory 5 and the displaying device 4 to display a menu. When theuser operates operation switches such as direction keys and aconfirmation key of the operation input portion 7, the displaying device4 displays a plurality of functions that will be set and have been set.At that point, selection information corresponding to the settings thathave been performed is stored in a memory of the controllingmicrocomputer 6.

The USB controller 10 connected to the USB connector 11 is connected tothe controlling microcomputer 6 through the bus. The controllingmicrocomputer 6 sends and receives data to/from the USB controller 10 soas to accomplish a data transfer function with the personal computer 100connected to the USB connector 11 through the cable 101. When datastored in the record medium 9 is transferred to the personal computer100, the controlling microcomputer 6 receives a transfer request fromthe USB controller 10 and transfers data stored in the record medium 9to the personal computer 100 corresponding to the selection informationthat has been set.

Next, with reference to FIG. 3, an example of which an USB interface isset will be described. As shown in FIG. 3A, a mode dial 21 is disposedon the casing of the digital camera body. The mode dial 21 can be turnedby the user. When the mode dial 21 is turned to a position “SET UP” 22with a marker 23, the digital camera is placed in a setting mode.

In the setting mode, the displaying device 4 displays a mode selectionmenu as shown in FIG. 3B. In the example shown in FIG. 3, the menucontains setting items “LCD BRIGHTNESS”, “BEEP ON/OFF”, “VIDEO OUTPUTFORMAT”, and “USB INTERFACE”. With direction keys (not shown), a marker(a cursor, a reverse display frame, a highlight frame, a special colorframe, or the like) can be moved in up, down, left, and rightdirections. When a confirmation operation is performed, the selectedsetting item becomes valid. For example, a cross-shaped key is used asthe direction keys. When the center portion of the cross-shaped key ispressed, the selected setting item becomes valid. In the example shownin FIG. 3B, “USB INTERFACE” has been selected as a setting item on themenu.

When the confirmation operation is performed in the state shown in FIG.3B, two types of USB interfaces are displayed as shown in FIG. 3C. Asone of the two types of USB interfaces, “PTP” or “NORMAL” can beselected. As was described above, “PTP” represents a USB interfacestandard corresponding to the still image class interface. “NORMAL”represents the mass storage class interface standard. With the directionkeys and the confirmation operation, the user can decide his or herdesired USB interface. Selection information corresponding to thedecided USB interface is stored in the controlling microcomputer 6.

The USB interface setting method is not limited to the forgoing menudisplaying method. Although the mode dial 21 is used to switch to thephotographing mode or the reproducing mode, when the digital camera andthe personal computer are connected through a USB interface, it ismeaningless to switch to the photographing mode or the reproducing mode.Thus, in the state that the digital camera is connected to the personalcomputer, when the mode dial 21 is placed in the photographing modeposition, one mode, for example “PTP”, may be set. Likewise, when themode dial 21 is placed in the reproducing mode position, the other mode,for example “NORMAL”, may be set. Alternatively, as a default USBinterface, for example “NORMAL” may be set.

FIG. 4 is a flow chart showing a process performed by the controllingmicrocomputer 6 when data stored in the record medium 9 is transferredto the personal computer. At step S101, a transfer request is sent fromthe USB controller 10 to the controlling microcomputer 6. At step S102,the controlling microcomputer 6 references selection information for aUSB interface to the internal memory. The controlling microcomputer 6transfers data stored in the record medium 9 to the buffer memory 8.

When the USB interface is “PTP”, at step S103, using the means of “PTP”,data stored in the buffer memory 8 is transferred to the USB controller10. Likewise, when the USB interface is “NORMAL” (mass storage classinterface), at step S104, using the means of “NORMAL”, data stored inthe buffer memory 8 is transferred to the USB controller 10. The USBcontroller 10 transfers the data received from the controllingmicrocomputer 6 to the personal computer through the USB connector 11and the USB cable.

When the USB interface is “PTP”, a directory structure of folders and soforth of the record medium 9 cannot be transferred to the personalcomputer. Thus, picture information is transferred regardless of typesthereof. Thus, the user cannot easily know the relation of main pictureinformation and other information.

Next, a digital camera that uses the PTP as a USB interface and thatallows the user to easily recognize the relation of a plurality ofrelated files on the personal computer will be described as anotherembodiment of the present invention with reference to the accompanyingdrawings. The connection and the structure of the digital cameraaccording to the other embodiment are the same as those of the digitalcamera according to the forgoing embodiment shown in FIGS. 1 and 2.

According to the other embodiment of the present invention, a picturefile recorded by a digital camera is transferred from the digital camerato a personal computer. In other words, as shown in FIG. 1, a USB host(personal computer) 100 and a digital camera 102 having a USB port aredirectly connected with a USB cable 101. A picture file recorded in aremovable record medium, for example a memory card, disposed in thedigital camera 102 is transferred from the digital camera 102 to thepersonal computer 100.

According to the other embodiment, corresponding to the PTP based on thestill image class interface, data is transferred from the digital camera102 to the personal computer 100. To do that, an application programcorresponding to the PTP and the folder structure has been installed tothe personal computer 100 (the application program may be bundled in theOS (Operating System)).

FIG. 2 shows the system structure of the digital camera 102. In FIG. 2,reference numeral 1 represents a CCD (Charge Coupled Device). The numberof pixels (the number of horizontal pixels×the number of verticalpixels) of the CCD 1 is for example 1800×1200. The number of pixels of arecorded picture against the number of pixels of a photographed picture(color-picture) can be selected from various types. The CCD 1 outputs animage of an object photographed through a lens (not shown) as aphotographed picture signal. The lens portion of the CCD 1 performs anautomatic diaphragm controlling operation and an automatic focuscontrolling operation. The photographed picture signal is supplied to acamera block 2.

The camera block 2 includes a clamping circuit, a luminance signalprocessing circuit, a contour compensating circuit, a defectcompensating circuit, an automatic diaphragm controlling circuit, anautomatic focus controlling circuit, an automatic white balancecompensating circuit, and so forth. The camera block 2 generates thedigital photographed picture signal as a component signal composed of aluminance signal and color difference signals converted from for exampleRGB signals. The digital photographed picture signal is supplied to apicture processing block 3.

The picture processing block 3 has a signal switching portion, a displaybuffer memory, a D/A converter, a picture data encoder, a picture datadecoder, and so forth. As picture file formats, for example JPEG (JointPhotographic Experts Group), MPEG (Moving Picture Experts Group), GIF(Graphics Interchange Format), TIFF (Tagged Image File Format), BMP(Windows BitMap), and so forth can be selectively used. A displayingdevice 4 and a picture memory 5, for example, a DRAM (Dynamic RandomAccess Memory), are connected to the picture processing block 3. In thepicture processing block 3, generated RGB signals are supplied to thedisplaying device 4 through a D/A converter. The displaying device 4 iscomposed of for example an LCD (Liquid Crystal Display) that isintegrated with the camera.

The picture signal is supplied from the camera block 2 to the displayingdevice 4. The displaying device 4 displays the photographed picture. Inaddition, the displaying device 4 displays a picture that is read fromthe record medium 9 thorough a controlling microcomputer 6. Moreover,the displaying device 4 displays a menu screen for setting a mode. Therecord medium 9 is a removable medium, for example, a memory card, aflexible disc, or a CD-R.

An operation input portion 7, a buffer memory 8, the record medium 9,and a USB controller 10 are connected to the controlling microcomputer6. A USB connector 11 is connected to the USB controller 10. Thecontrolling microcomputer 6 controls the USB controller 10 through a USBinterface corresponding to the PTP. Control information is supplied fromthe controlling microcomputer 6 to each portion. Corresponding to thecontrol information, each portion processes the picture data.Corresponding to the control information, data is written to and readfrom the picture memory 5 and the buffer memory 8. In addition,corresponding to the control information, data is written to and readfrom the record medium 9.

The operation input portion 7 has a shutter button, a mode dial forsetting a mode, and various types of switches that the user operates.When the shutter button is pressed, the controlling microcomputer 6detects this, causes the camera block 2 and the picture processing block3 to store the photographed original picture to the picture memory 5,and causes the picture processing block 3 to compress the originalpicture data and record the compressed data to the record medium 9. Inthis case, corresponding to the record mode that has been selectivelyset, both a main picture and other information (referred to as sub file)are recorded to the record medium 9.

When the E-mail mode has been set, the picture processing block 3creates an E-mail sub file that is for example a CIF (CommonIntermediate Format, 320×320 pixel) format picture and that is smallerthan a main picture compressed corresponding to the JPEG format. Thepicture processing block 3 writes the main picture and the E-mail subfile as different files to the record medium 9 at a time. In the voicememo mode, in addition to a main picture, the picture processing block 3writes a sub file of which voice that is input from a microphone (notshown) is compressed corresponding to the MPEG format to the recordmedium 9.

According to the other embodiment, one of an E-mail sub file and a voicememory sub file can be created together with a main picture. The E-mailsub file has the same file name as the main picture. The e-mail sub fileis stored in a folder different from folders for the main picture andthe voice memo sub file. Likewise, the voice memo sub file is stored ina folder different from folders for the main picture and the E-mail subfile. The camera body assigns file numbers to main pictures. With theassigned file numbers, the camera body manages the main pictures. Inaddition, the camera body determines the relation of sub files and mainpictures using folders, their names, record date/time data, and soforth. The camera body assigns file numbers to main pictures regardlessof the file names thereof.

The USB controller 10 connected to the USB connector 11 is connected tothe controlling microcomputer 6 through a bus. The controllingmicrocomputer 6 sends and receives data to/from the USB controller 10 soas to accomplish a data transfer function with the personal computer 100connected to the USB connector 11 through the cable 101 corresponding tothe PTP.

FIG. 5 shows an outline of a process performed by the controllingmicrocomputer 6 in the case that data stored in the record medium 9 istransferred to the personal computer 100. When the controllingmicrocomputer 6 detects that the personal computer has been connected tothe USB connector 11, at step S111, a USB connection detecting processis executed. At step S112, the controlling microcomputer 6 creates afile table for files stored in the record medium 9. The created filetable is stored in the buffer memory 8.

The file table contains information that represents the relation of mainpictures and sub files and the types of the sub files corresponding tofolders, their names, record date/time data, and so forth. FIG. 6 showsan example of the file table. In FIG. 6, file numbers identifies mainpictures recorded on the record medium 9. For each main picture fileidentified by a file number, file type information is created. The filetype information has one of three values. When the file type informationis 0, it represents that no sub file is present. When the file typeinformation is 1, it represents that an E-mail sub file is present. Whenthe file type information is 2, it represents that a voice memo sub fileis present.

The file table is not always stored. Instead, only when the digitalcamera and the personal computer are connected through the USBinterface, the file table is created. Thus, when the digital camera andthe personal computer are not connected through the USB interface, thebuffer memory 8 can be effectively used. As a result, the function forthe file table can be accomplished without need to increase the capacityof the buffer memory 8. When the file table is being created, the camerabody cannot handle a request for a file issued from the personalcomputer. To solve this problem, before the camera body sends the USBconnection request to the personal computer, a file table creatingprocess is performed at step S112.

After the table creating process has been completed at step S112, theflow advances to step S113. At step S113, the USB connection request isissued to the personal computer. At that point, the personal computerrecognizes the camera as a USB device and sends a transfer request tothe USB controller 10.

The transfer request is sent to the controlling microcomputer 6 throughthe USB controller 10. When the controlling microcomputer 6 receives thetransfer request, the controlling microcomputer 6 transfers informationabout the record medium 9 and data stored therein to the buffer memory 8corresponding to the type of the transfer request.

According to the other embodiment, when there is a sub file related to apicture file, virtual folders that the user can recognize are createdcorresponding to the protocol of the PTP. In other words, attribute datais added to each file so that the personal computer can recognizerelated two files in the same folder (the related two files are forexample a main picture file and an E-mail sub file or a main picturefile and a voice memo). When a folder is created, the forgoing filetable is referenced.

FIG. 7 shows an outline of such a process. The digital camera managespicture data with file numbers. Corresponding to the PTP, picture datais managed with numbers referred to as object handles. File numbers aredenoted by 0x0001, 0x0002, . . . , 0x000n, . . . , 0x000m where 0xrepresents hexadecimal notation. File numbers are represented with twobytes each.

To transfer data to the personal computer corresponding to the PTP, afile number is converted into an object handle. In this case, as shownin FIG. 7A, when there is a sub file related to a picture file, a folderis created so that the personal computer can recognize that two files,namely the main file and the sub file, are stored in the same folder. Afolder is represented by “z000” as the high order two bytes of an objecthandle. A main file is represented by “0000” as the high order two bytesof an object handle. A sub file is represented by “000z” as the highorder two bytes of an object handle.

In this example, z represents the value of the file type of the filetable created in the forgoing manner. In this example, when z=1, thereis an E-mail sub file. When z=2, there is a voice memo sub file. Whenz=0, there is no sub file. Thus, when z=0, no folder is created.

FIG. 7B shows an example of the case that when there is a sub filerelated to a main file, a file number of the main file is converted intoan object handle of the main file, an object handle of the sub file, andan object handle of the folder. The object handle of the folder, theobject handle of the main file, and the object handle of the sub fileare successively sent. By a mask process for ANDing an object handle and“0x0000FFFF”, the object handle can be converted into a file number.

Next, the other embodiment will be described in more detail. FIG. 8shows the relation between a directory structure of data stored in thedigital camera and a directory/file names corresponding to the PTP. Inthe digital camera according to the other embodiment, in a directory“DCIM”, a sub directory “100MSDCF” is created. In the sub directory“100MSDCF”, a main picture as a still picture is stored. A main picturefile (main file) is stored in a sub directory.

In a local picture directory “MSSONY”, an E-mail picture and TIFFpicture sub directory “IMCIF100”, a voice file sub directory “MOMLV100”,and a moving picture sub directory “MOML0001” are created. In each subdirectory, a sub file is stored. In addition, a directory “MISC” iscreated.

A directory and a sub directory correspond to a folder and a sub folder,respectively. Through the mass storage class interface, for example, thedirectory structure shown in FIG. 8 can be transferred to the personalcomputer. However, in this case, when the user does not know thedirectory structure, he or she cannot easily search for a desired fileand recognize the relation of a main file and a sub file.

For example, files surrounded by a dual frame are selectivelytransferred corresponding to the PTP. Alternatively, all files can becollectively transferred to the personal computer. Numerals inparentheses represent file numbers. The digital camera manages fileswith file numbers. In the example shown in FIG. 8, in files transferredcorresponding to the PTP, a main file “DSC00002.JPG” and a sub file(E-mail picture) “DSC00002.JPG” whose file numbers are the same arerelated files. In addition, a main file “DSC00003.JPG” and a sub file(voice memo) “SDC00003.MPG” are related file. In the digital camera,these files are stored in different directories (folders).Conventionally, corresponding to the PTP, these files are transferredregardless of types thereof. On the personal computer, it is necessaryto recognize the relation of these files with their file names. However,according to the present invention, a virtual folder is created so thatthe relation of files is represented.

FIG. 9 shows file names of a main file and a sub file transferredcorresponding to the PTP. Rec mode represents photographing modes thatthe user has set with the operation input portion 7. In a normal mode,only a main picture (main file) of a natural picture that isphotographed is recorded to the record medium 9. In an E-mail mode, botha main picture and an E-mail picture (sub file) in a reduced size arerecorded to the record medium 9. In a voice memo mode, both a mainpicture and a voice memo (sub file) that is voice data compressedcorresponding to the MPEG format are recorded to the record medium 9. Inaddition, a TIFF format mode, a text photographing mode, and so forthcan be selected.

FIG. 10 shows the structure of files transferred corresponding to theforgoing PTP. When there are both a main file and a sub file, a folderhaving a name corresponding to the file name is created. When the filenames are “DSC0002.JPG” (the file name of a main file) and“DSCA0002.JPG” (the file name of an E-mail sub file), “DSC0002” of whichextension is removed from the file names is used as the folder name.When the file names are “DSC0003.JPG” (the file name of a main file) and“DSCA0003.MPG” (the file name of a voice memo sub file), a folder“DSC00003” is created.

FIG. 11 shows part of operations prescribed in the standard for the PTPand meanings thereof. Each operation is a kind of a command sent fromthe personal computer to the digital camera. Each operation is atwo-byte code. For example, an operation “GetObjectHandles” causes thepersonal computer to obtain an object handle from the digital camera.Corresponding to the PTP, before picture data is transferred from thedigital camera to the personal computer, a process for obtaining deviceinformation, an object handle, and object information is required.

FIG. 12 shows an example in the case that the digital camera and thepersonal computer are connected. In this example, the personal computeris a USB host and manages the protocol. The personal computer sends anoperation to the digital camera and responds to an event received fromthe digital camera. The digital camera responds to an operation receivedfrom the personal computer.

After the digital camera connected to the personal computer hasperformed a PTP initializing process, the digital camera informs thepersonal computer of the connection. After the personal computer hasdetected the connection, the personal computer performs a USB devicerecognizing process for the digital camera. Thereafter, the personalcomputer performs the PTP process. These process are represented as aUSB connecting process in FIG. 12.

Thereafter, an operation “GetDeviceInfo” is sent from the personalcomputer to the digital camera. The operation “GetDeviceInfo” is used toobtain device (camera) information. The digital camera sends the deviceinformation to the personal computer. The device information is acorresponding operation, a corresponding event, a corresponding pictureformat, and so forth.

Thereafter, an operation “OpenSession” is sent from the personalcomputer to the digital camera. The operation “OpenSession” is used tostart a session. In the operation “OpenSession”, a session ID is issued.Thereafter, the operation is sent from the personal computer to thedigital camera. The digital camera sends data and a responsecorresponding to the received operation to the personal computer. Afterthe personal computer has completed the PTP process, the personalcomputer sends an operation “CloseSession” to the digital camera.Thereafter, the session is completed.

FIG. 13 shows an example of a connecting operation. An operation“GetObjectHandles” is sent from the personal computer to the digitalcamera. The operation “GetObjectHandles” is used to obtain a picturefile number. The digital camera sends object handles for all objects inthe record medium 9 to the personal computer. Objects are picture filesreproduced by the camera. Thereafter, the personal computer issues anoperation “GetObjectInfo” for each object. The digital camera returnsfile information (ObjectInfo) of the requested object to the personalcomputer.

An object handle corresponds to a file number that the digital camerahandles. However, the PTP does not have a concept of a sub file. Thus,it is necessary to create an object handle of a sub file. When there isa sub file, an object handle for a folder is also created.

A file number is two-byte data, whereas an object handle is four-bytedata. Thus, as was described with reference to FIG. 7, the low order twobytes of an object handle is used as a file number. Thus, when an objecthandle is masked with 0x0000FFFF, the object handle can be easilyconverted into a file number. A folder and a sub file can bedistinguished with high order two bytes of their object handles. When anobject handle is masked with 0xF0000000 and the masked digit is not 0,it is determined that the object handle is a folder. When an objecthandle is masked with 0x000F0000 and the masked digit is not 0, it isdetermined that the object handle is a sub file. For file types, forexample, an E-mail sub file and a voice memo sub files are assigned 1and 2, respectively. With reference to the file table, these objecthandles are created. An object handle of a folder, an object handle of amain picture, and an object handle of a sub file are successively sentto the personal computer.

When an operation “GetObjectInfo” is sent to the digital camera, fileinformation (ObjectInfo) of the designated object handle is sent to thepersonal computer. When an object handle is a folder, the object handlecan be masked with 0xF000000. In this case, the file name (folder name)without the extension and the file date/time information are sent to thepersonal computer.

When an object handle is a sub file, the object handle can be maskedwith 0x000F0000. In this case, a parent folder (parent object) isdesignated. When the parent object is contained in the objectinformation, a folder as the parent can be designated. As a result, thepersonal computer recognizes that the picture is stored in the folder.The parent object is attribute data. To easily distinguish a parentobject from a main picture, the parent object is treated as an objectthat does not have a thumbnail or substituted for an icon that thecamera has. When the file name of a parent object is the same as thefile name of a main picture, a part of the file name is changed so thatthe file name of the parent object is different from the file name ofthe main picture.

Except for the above case, a main picture (main file) is designated. Atthat point, it is determined whether or not there is a sub file. Whenthere is a sub file, a parent folder (parent object) is designated.

Next, a process corresponding to the PTP will be described in detail.FIG. 14 is a flow chart showing a PTP initializing process. At step S1,an initial value (1) is set to variable i. At step S2, it is determinedwhether or not i is the maximum file number. When i is larger than themaximum file number, the process is completed. Otherwise, the flowadvances at step S3. At step S3, file information of the file number iis obtained.

At step S4, it is determined whether or not the file is an E-mail subfile. When the file is an E-mail sub file, the flow advances to step S7.At step S7, array [i]=1 is set. When the file is not an E-mail sub file,the flow advances to step S5. At step S5, it is determined whether ornot the file is a voice memo sub file. When the file is a voice memo subfile, the flow advances to step S8. At step S8, array [i]=2 is set. Whenthe determined result at step S5 is No, it is clear that the file of thefile number i is neither an E-mail sub file, nor a voice memo sub file.In this case, the flow advances to step S6. At step S6, array [i]=0 isset.

The initializing process is equivalent to the file table creatingprocess that has been described with reference to FIGS. 5 and 6. At stepS9, variable i is incremented by 1. Thereafter, the flow returns to stepS2.

FIG. 15 is a flow chart showing a process corresponding the operation“GetObjectHandle”. At step S11 shown in FIG. 15, initial value (1) isset to variable i. At step S12, i is compared with the maximum value ofthe file numbers. When variable i is larger than the maximum filenumber, the process is completed. When variable i is equal to or smallerthan the maximum file number, the flow advances to step S13. At stepS13, it is determined whether or not sendSubReq is 2. When sendSubReq is2, the flow advances to step S14. At step S14, objecthandle=1 is set.Thereafter, the flow returns to step S12. sendSubReq is a temporaryvariable that stores object handles having the same file number that aresuccessively sent. When this process is executed, the initial value ofsendSubReq is 0.

When the determined result at step S13 represents that sendSubReq is not2, the flow advances to step S15. At step S15, it is determined whetheror not sendSubReq is 1. When sendSubReq is 1, the flow advances to stepS16. At step S16, it is determined whether or not array [i]=1. Whenarray [i]=1, the flow advances to step S18. At step S18, objecthandle=0x00010000+i and [sendSubReq=0] are set. Thereafter, the flowreturns to step S12. As a result, the object handle is an E-mail subfile. “+i” represents an operation for adding the file number to theobject handle.

When the determined result at step S16 represents that array [i] is not1, the flow advances to step S17. At step S17, it is determined whetheror not array [i]=2. When array [i]=2, the flow advances to step S19. Atstep S19, object handle=0x00020000+i and [sendSubReq=0] are set.Thereafter, the flow returns to step S12. As a result, the object handleis a voice memo sub file. When the determined result at step S17represents that array [i] is not 2, the flow also returns to step S12.

When the determined result at step S15 represents that sendSubReq is not1, the flow advances to step S20. At step S20, it is determined whetheror not array [i]=1. When array [i]=1, the flow advances to step S23. Atstep S23, object handle=0x100000000+i and [sendSubReq=2] are set.Thereafter, the flow returns to step S12. As a result, the object handleis an E-mail folder.

When the determined result at step S20 represents that array [i] is not1, the flow advances to step S21. At step S21, it is determined whetheror not array [i] is 2. When array [i]=2, the flow advances to step S24.At step S24, object handle=0x20000000+i and [sendSubReq=2] are set.Thereafter, the flow returns to step S12. As a result, the object handleis a voice memo folder. When the determined result at step S21represents that array [i] is not 2, the flow advances to step S22. Atstep S22, object handle=1 is set. Thereafter, the flow returns to stepS12.

FIG. 16 is a flow chart showing a process corresponding to the operation“GetObjectInfo”. At step S31 shown in FIG. 16, the object handle ismasked with 0x0000FFF (AND process). As a result, a file number isdesignated. At step S32, the object handle is masked with 0x000F0000.When the result at step S32 is not 0, the object handle is a sub file.

When the determined result at step S32 represents that the object handleis a sub file, the flow advances to step S33. At step S33, sub fileinformation is obtained. At step S34, the object handle is masked with0x00010000. When the result at step S34 is 1, it is determined that thesub file is an E-mail sub file. In this case, the flow advances to stepS36. At step S36, E-mail data is set. In other words, in this case, toeasily distinguish the sub file from a main file, the sub file istreated as a sub file that does not have a thumbnail. In addition, aparent folder (parent object) is designated. The parent object isdesignated by 0x10000000+file number. The process is completed.

When the determined result at step S34 represents that the sub file isnot an E-mail sub file, the flow advances to step S35. At step S35, theobject handle is masked with 0x00020000. When the result at step S35 is2, it is determined that the sub file is a voice memo sub file. In thiscase, the flow advances to step S37. At step S37, voice memo data isset. In other words, in this case, the sub file is treated as a sub filethat does not have a thumbnail. In addition, a parent folder (parentobject) is designated. The parent object is designated by0x20000000+file number. The process is completed. When the determinedresult at step S35 represents that the sub file is not a voice memofile, the process is also completed.

When the determined result at step S32 represents that the object handleis not a sub file, the flow advances to step S38. At step S38, theobject handle is masked with 0xF0000000. When the result at step S38 isnot 0, it is determined that the object handle is a folder. When thedetermined result at step S38 represents that the object handle is afolder, the flow advances to step S39. At step S39, file information isobtained. At step S40, folder data is set. In this case, the file namewithout the extension (folder name) and the file date/time informationare sent to the personal computer. When ObjectFormat=0x3001, itrepresents that the object is a folder. When associateionType=1, itrepresents that a file can be stored as a conventional folder.

When the determined result at step S38 represents that the object handleis not a folder, the object handle is a main picture (main file). Atstep S41, file information is obtained. At step S42, main picture datais set. At step S43, it is determined whether or not there is an E-mailsub file. At step S44, it is determined whether or not there is a voicememo sub file. When this is one of these sub files, a parent folder(parent object) is designated (at steps S45 and S46).

FIG. 17 is an example of a connection of the personal computer and thedigital camera in the case that the former captures picture data fromthe latter corresponding to the PTP. The personal computer issues anoperation “GetObject” with an argument as an object handle correspondingto an object. The digital camera returns data (picture) of the requestedobject to the personal computer.

FIG. 18 is a flow chart showing a picture capturing operation. At stepS51, an object handle is masked with 0x0000FFFF (AND process). As aresult, a file number is designated. At step S52, the object handle ismasked with 0x000f0000. When the result at step S52 is not 0, the objecthandle is a sub file.

When the determined result at step S52 represents that the object handleis a sub file, the flow advances to step S54. At step S54, a flag thatrepresents whether or not there is a sub file is set to 1. The flag is atemporary variable. In contrast, when the determined result at step S52represents the object handle is not a sub file, the flow advances tostep S53. At step S53, the flag is set to 0. At step S55, with referenceto the file number and the flag, a file is captured.

FIG. 19 shows data structure of object handles obtained by an operation“GetObjectHandle”. Data of the object handle is successively assignedbyte numbers 0, 1, 2, . . . . The data contains information thatrepresents the total number of object handles. The total number ofobject handles is a total of the number of picture files recorded in arecord medium of the digital camera and the number of created folders.After byte number 16, object handles (four-byte numbers) are arranged.

FIGS. 20 and 21 show the data structure of object informationcorresponding to one object handle obtained by an operation“GetObjectInfo”. The drawings shown in FIGS. 20 and 21 are two partsinto which one drawing is divided due to a limited drawing space. Theobject information contains file name, photographed date and time,storage ID, picture size, protect state, thumbnail presence/absence,number of pixels of picture/thumbnail, and so forth. To cause an objecthandle to be recognized as a folder, ObjectFormat=0x3001,ThumbFormat=0x0000, and AssociationType=0x0001 are set. To cause anobject handle to be recognized as a file stored in a folder,parentobject=folder is set.

Corresponding to the forgoing PTP, files stored in a record mediumdisposed in the digital camera are transferred to the personal computer.As shown in FIG. 22, on a screen 21 a having a title bar 22, a list ofthumbnails P1, P2, . . . of main pictures can be displayed. In reality,various types of data such as a picture process menu are displayed.However, for simplicity, they are omitted on the screen shown in FIG.22. When a folder stores a main file and a sub file, a thumbnail of thefolder is not displayed. In this case, only the folder name isdisplayed. Alternatively, any icon that represents the folder may bedisplayed. When the user clicks a folder name or an area thereof, athumbnail P5 of a main picture and a sub file are displayed as a screen21 b. In the example shown in FIG. 22, since the sub file is a voicememo sub file, a thumbnail thereof is not displayed on the screen 21 b.Only a file name is displayed on the screen 21 b.

The present invention is not limited to the forgoing embodiments.Without departing from the sprit of the present invention, variousramifications and modifications are available. For example, sub filescan be stored in folders corresponding to the types of sub files. Inaddition, two or more types of USB interfaces can be provided. The usercan selectively set one of them. In this case, even if the USBcontroller as hardware deals with only one interface, corresponding to aprocess of the controlling microcomputer, data can be transferred fromthe buffer memory to the USB controller through one of the two types ofUSB interfaces. The two types of USB interfaces are for example the PTP(still image class) and the mass storage class interface.

In addition, in the other embodiment of the present invention, forexample, the USB controller 10 may be built in the controllingmicrocomputer 6. In addition, the number of types of USB interfaces isnot limited to two. Three or more types or USB interfaces may be used.

For example, sub files can be stored in folders corresponding to thetypes of sub files. In addition, two or more types of USB interfaces canbe provided. The user can selectively set one of them. In this case,even if the USB controller as hardware deals with only one interface,corresponding to a process of the controlling microcomputer, data can betransferred from the buffer memory to the USB controller through one ofthe two types of USB interfaces. The two types of USB interfaces are forexample the PTP (still image class) and the mass storage classinterface.

According to the present invention, since the USB interface switchingmeans is used, the USB controller that deals with a single USB interfacecan accomplish a multiple USB interface function. Thus, although the USBcontroller is structured at relatively low cost in relatively smallcircuit scale, a plurality of types of interfaces or a plurality ofcircuit scales can be accomplished. In other words, it is not necessaryto provide individual USB controllers corresponding to individual USBinterfaces. In addition, when the user selectively uses functions of USBclasses, a digital camera that have their advantages can beaccomplished.

In addition, according to the present invention, when a digital camerais connected to a personal computer that has an USB interfacecorresponding to for example the PTP and in which an application programcorresponding to a folder structure has been installed (the applicationprogram may be bundled in the OS) and a file is transferred from thedigital camera to the personal computer, a folder with which thepersonal computer can deal is created. As a result, the relation offiles transferred to the personal computer can be easily recognized.When there is a sub file related to a picture, a folder is displayed atthe position of the picture. When the folder is opened, since it looksas if a plurality of related files are contained in the folder, therelation of the files can be easily recognized.

1. A digital camera that records data of a photographed picture to aremovable record medium and reads picture data from the record medium,comprising: a controlling portion; an operation input portion thatoutputs an operation signal to the controlling portion; a buffer memorythat is controlled by the controlling portion and that is read from therecord medium; and a single USB controller that is controlled by thecontrolling portion, wherein the operation input portion selects a firstUSB interface or a second USB interface and selection information thatcorresponds to the selected USB interface is stored in the controllingportion, wherein when the controlling portion receives a transferrequest from the USB controller, the controlling portion transfers datafrom the buffer memory to the USB controller through the selected USBinterface corresponding to the selection information; and wherein whenthe second USB interface is selected the controlling portion does nottransfer a directory structure of the record medium, wherein the controlportion creates an object handle for each file transferred from therecording medium according to a file name of the file and a type of thefile, a predetermined number of high order bytes of the object handleindicating types of the file, wherein a relationship among filesrecorded in separate folders in the record medium is determinedindependent of a directory structure, and wherein when the relationshipamong the files is determined, an associated virtual folder is generatedfor storing related files, an object handle of the associated virtualfolder being determined by a combination of object handles of therelated files and a hexadecimal notation, the object handle indicating atype of a sub file included in the associated virtual folder.
 2. Thedigital camera as set forth in claim 1, wherein the first USB interfaceand the second USB interface correspond to a mass storage classinterface and a still image class interface, respectively.
 3. Thedigital camera as set forth in claim 1, further comprising: a displayingdevice, wherein the displaying device displays a USB interface selectingmenu screen corresponding to an operation of the operation inputportion, and wherein one of the USB interfaces can be selected on themenu screen.
 4. The digital camera as set forth in claim 1, wherein amode selection switch that selects a photographing mode for recording aphotographed picture to the record medium or a reproducing mode forreading data from the record medium is also used to select one of theUSB interfaces.
 5. A digital camera that records data of a photographedpicture to a record medium and reads picture data from the recordmedium, comprising: a picture processing portion that processes aphotographed picture; a controlling portion; an operation input portionthat outputs an operation signal to the controlling portion; and a USBcontroller that is controlled by the controlling portion and thatcomposes an USB interface, wherein a predetermined photographing modethat is set by the operation input portion causes a sub file related toa main file corresponding to a photographed picture to be created,wherein the controlling portion records the main file and the sub fileto the record medium, wherein the control portion creates an objecthandle for each file transferred from the recording medium according toa file name of the file and a type of the file, a predetermined numberof high order bytes of the object handle indicating types of the file,wherein when the main file and the sub file stored in the record mediumare transferred through the USB interface, associated virtual folder iscreated in data that is transferred, an object handle of the associatedvirtual folder being determined by a combination of object handles ofthe related files and a hexadecimal notation, the object handleindicating a type of the sub file included in the associated virtualfolder, and wherein a relationship among files recorded in separatefolders in the record medium is determined independent of a directorystructure.
 6. The digital camera as set forth in claim 5, whereinattribute data that allows a host side to recognize that related mainfile and sub file are stored in the folder is added to the main file andthe sub file.
 7. The digital camera as set forth in claim 5, wherein thefolder is created for each type of the sub file.
 8. The digital cameraas set forth in claim 5, wherein the sub file is picture data whose sizeis smaller than the main file.
 9. The digital camera as set forth inclaim 5, further comprising: voice input means, wherein a voice file ofwhich voice that had been input from the voice input means has beenprocessed is created as the sub file.
 10. The digital camera as setforth in claim 5, wherein the USB interface is an interfacecorresponding to PTP based on a still image class interface.
 11. A datatransferring method, comprising the steps of: creating a sub filerelated to a main file corresponding to a photographed picture in apredetermined photographing mode; recording the main file and the subfile to the record medium; creating a file table containing informationrepresenting the relation of the main file and the sub file whenconnected to a host side through a USB interface; transferring the mainfile and the sub file stored in the record medium to the host sidethrough the USB interface; creating an object handle for each filetransferred from the recording medium according to a file name of thefile and a type of the file, a predetermined number of high order bytesof the object handle indicating types of the file; determining arelationship among files recorded in separate folders in the recordmedium independent of a directory structure, wherein when therelationship among the files is determined, generating an associatedvirtual folder for storing related files, an object handle of theassociated virtual folder being determined by a combination of objecthandles of the related files and a hexadecimal notation, the objecthandle indicating a type of the sub file included in the associatedvirtual folder.
 12. The data transferring method as set forth in claim11, further comprising the step of: adding attribute data that allowsthe host side to recognize that related main file and sub file arestored in the folder to the main file and the sub file.
 13. The datatransferring method as set forth in claim 11, wherein the folder iscreated for each type of the sub file.
 14. The data transferring methodas set forth in claim 11, wherein the sub file is picture data whosesize is smaller than the main file.
 15. The data transferring method asset forth in claim 11, wherein a voice file is created as the sub file.16. The data transferring method as set forth in claim 11, wherein theUSB interface is an interface corresponding to PTP based on a stillimage class interface.